//立即执行函数

//所谓的栈就是只有一端作为读取的方法
(function() {
  //数组封装成列表
  //一般的函数以小写字母开头

  function stack() {
    this.dataStore = [];
    this.top = 0;//永远指向下一个要添加的元素的位置
  }

  stack.prototype.clear = function(element, after) {
    delete this.dataStore;
    this.dataStore = [];
  };

  stack.prototype.length = function() {
    return this.top;
  };

  stack.prototype.push = function(element) {
    this.dataStore.push(element);
    this.top++;
  };

  stack.prototype.pop = function() {
    this.top--;
    return this.dataStore.pop();
  };

  stack.prototype.get = function() {
    return this.dataStore[this.top - 1];
  };

  //构造函数当类用（大写开头）
  window.fi.Stack = stack;
})();
